package controllers

import (
	"encoding/json"
	"errors"
	//"github.com/astaxie/beego"
	// "lottery/constant"
	"lottery/models"
	// "lottery/utils"
)

type SiteCtl struct {
	BaseCtl
}

func (s *SiteCtl) GetSiteList() {
	if !s.isLogin() {
		s.SetJson("请先登录！", nil)
		return
	}

	sites, err := models.GetSites()
	if err != nil {
		s.SetJson(nil, err)
		return
	}
	s.SetJson(sites, nil)
}
func (s *SiteCtl) InsterSite() {

	if !s.isLogin() {
		s.SetJson("请先登录！", nil)
		return
	}

	site := &models.Site{}

	err := json.Unmarshal(s.Ctx.Input.RequestBody, site)
	if err != nil {
		s.SetJson(nil, err)
		return
	}

	if site.PlatformId <= 0 || site.Name == "" || site.SiteUrl == "" {
		s.SetJson(nil, errors.New("网站信息不全"))
		return
	}

	if models.ExistsPlatformId(site.PlatformId) {
		s.SetJson(nil, errors.New("平台已存在"))
		return
	}

	err = models.SaveSite(site)
	if err != nil {
		s.SetJson(nil, err)
		return
	}

	s.SetJson("增加成功", nil)
	return

}
func (s *SiteCtl) UpdateSite() {
	if !s.isLogin() {
		s.SetJson("请先登录！", nil)
		return
	}
	site := &models.Site{}
	err := json.Unmarshal(s.Ctx.Input.RequestBody, site)
	if err != nil {
		s.SetJson(nil, err)
		return
	}

	if site.PlatformId <= 0 || site.Name == "" || site.SiteUrl == "" {
		s.SetJson(nil, errors.New("网站信息不全"))
		return
	}

	if !models.ExistsPlatformId(site.PlatformId) {
		s.SetJson(nil, errors.New("平台不存在，请联系管理人"))
		return
	}
	err = models.UpdateSite(site)
	if err != nil {
		s.SetJson(nil, err)
		return
	}
	s.SetJson("修改成功", nil)
	return
}
